package response

// 七牛云ASR返回结果的顶层结构体
type QiniuASRResponse struct {
	Reqid     string  `json:"reqid"`     // 请求ID
	Operation string  `json:"operation"` // 操作类型，这里是"asr"
	Data      ASRData `json:"data"`      // 核心数据部分
}

// 音频信息和识别结果的容器
type ASRData struct {
	AudioInfo AudioInfo `json:"audio_info"` // 音频基本信息
	Result    ASRResult `json:"result"`     // 识别结果详情
}

// 音频信息
type AudioInfo struct {
	Duration int `json:"duration"` // 音频时长（毫秒）
}

// 识别结果主体
type ASRResult struct {
	Additions  ASRAdditions `json:"additions"`  // 附加信息
	Text       string       `json:"text"`       // 完整识别文本
	Utterances []Utterance  `json:"utterances"` // 语音片段列表
}

// 识别结果附加信息
type ASRAdditions struct {
	Duration string `json:"duration"` // 音频时长（字符串形式）
}

// 单个语音片段
type Utterance struct {
	EndTime   int    `json:"end_time"`   // 片段结束时间（毫秒）
	StartTime int    `json:"start_time"` // 片段开始时间（毫秒）
	Text      string `json:"text"`       // 片段识别文本
	Words     []Word `json:"words"`      // 词语列表
}

// 单个词语信息
type Word struct {
	Confidence int    `json:"confidence"` // 置信度（0-100）
	EndTime    int    `json:"end_time"`   // 词语结束时间（毫秒）
	StartTime  int    `json:"start_time"` // 词语开始时间（毫秒）
	Text       string `json:"text"`       // 词语内容
}
